| 名稱 | 範例 | |
|---|---|---|
| (A) 基本選擇器 | (1) 元素選擇器 | elementname |
| (2) Class 選擇器 | .classname |
|
| (3) ID 選擇器 | #idname |
|
| (4) 通用選擇器 | `* ns | * * |
| (5) 屬性選擇器 | [attr=value] |
|
| (B) 虛擬類別 | (1) 狀態選擇器 | :hover :disabled |
| (B) 虛擬元素 | ::before ::after |
|
| (C) 複合選擇器 | (1) 鄰接同層選擇器 | A + B |
| (2) 通用同層選擇器 | A ~ B |
|
| (3) 直屬選擇器 | A > B |
|
| (4) 後代選擇器 | A B |
| 中文名稱 | 英文名稱 | 語法 |
|---|---|---|
| 鄰接同層選擇器 | Next-sibling combinator | selector1 + selector2 |
| 通用同層選擇器 | Subsequent-sibling combinator | selector1 ~ selector2 |
| 直屬選擇器 | Child combinator | selector1 > selector2 |
| 後代選擇器 | Descendant combinator | selector1 selector2 |
<!--Html-->
<div>
<span>Span 1.</span>
<span>Span 2.</span>
<span>Span 3.</span>
</div>
<span>Span 4.</span>
<span>Span 5.</span>
<span>Span 6.</span>
selector1 + selector2
div + span {
background-color: pink;
}

selector1 ~ selector2
div ~ span {
background-color: pink;
}

selector1 > selector2
不知道是不是我誤解它的意思,結果跟 後代選擇器 一樣...待研究。
div > span {
background-color: pink;
}

selector1 selector2 (代表一或多個空白字元)div span {
background-color: pink;
}